import axios from "axios";

const newRequest = axios.create({
  baseURL: "http://gmall-h5-api.atguigu.cn",
  timeout: 50000,
});

newRequest.interceptors.request.use((config) => {
	// 必须最后返回config
	return config;
});

// 添加响应拦截器 => 请求返回后调用
newRequest.interceptors.response.use(
	(response) => {
		// 成功的回调
		// console.log("响应拦截器成功的回调", response);

		if (response.data.code === 200) {
			return response.data.data;
		} else {
			// 4. 请求操作失败, 统一错误提示 => 响应拦截器的成功回调
			const errorMsg =
				response.data.data || response.data.message || "请求未知错误";

			// 将错误向下传递 => 传递给具体的请求
			return Promise.reject(new Error(errorMsg));
		}
	},
	// 4. 请求失败, 统一错误提示 => 响应拦截器的失败回调
	(error) => {
		// 失败的回调
		// console.log("响应拦截器失败的回调", error);

		throw error;
		
	}
);

export default newRequest;
